package com.ly.heart.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
@ApiModel ( "付款退款单选择付款单" )
public class KingFinancePayMenuVo {

    @ApiModelProperty ( "源单Id" )
    private String sourceId;

    @ApiModelProperty ( "源单明细Id" )
    private String sourceDetailId;

    @ApiModelProperty ( "单据编码" )
    private String docNo;

    @ApiModelProperty ( "单据类型名称" )
    private String docTypeName;

    @ApiModelProperty ( "收款单位类型：" +
            "客户：BD_Customer；" +
            "供应商：BD_Supplier；" +
            "部门：BD_Department；" +
            "员工：BD_Empinfo；" +
            "其他往来单位：FIN_OTHERS；" +
            "组织机构：ORG_Organizations；" +
            "银行：BD_BANK" )
    private String receiptDeptType;

    @ApiModelProperty ( "收款单位" )
    private String receiptDeptId;

    @ApiModelProperty ( "收款单位名称" )
    private String receiptCompanyName;

    @ApiModelProperty ( "往来单位类型" +
            "客户：BD_Customer；" +
            "供应商：BD_Supplier；" +
            "部门：BD_Department；" +
            "员工：BD_Empinfo；" +
            "其他往来单位：FIN_OTHERS；" +
            "组织机构：ORG_Organizations；" +
            "银行：BD_BANK" )
    @TableField ( "transaction_company_type" )
    @Excel ( name = "往来单位类型" )
    private String transactionCompanyType;

    @ApiModelProperty ( "往来单位" )
    private String transactionCompanyId;

    @ApiModelProperty ( "往来单位名称" )
    private String transactionCompanyName;

    @ApiModelProperty ( "业务时间" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    private Date business_time;

    @ApiModelProperty ( "应付金额" )
    private String copeMoney;

    @ApiModelProperty ( "实付金额" )
    private String actualMoney;

    @ApiModelProperty ( "采购部门" )
    private String procureDeptName;

    @ApiModelProperty ( "采购员名称" )
    private String purchaserUserName;

    @ApiModelProperty ( "结算方式编码" )
    private String kingSettlementTypeCode;

    @ApiModelProperty ( "结算方式名称" )
    private String kingSettlementTypeName;

    @ApiModelProperty ( "原付款用途编码" )
    private String payPurposeCode;

    @ApiModelProperty ( "原付款用途名称" )
    private String payReceiptPurposeName;

    @ApiModelProperty ( "源单类型" )
    private Integer sourceDocType;

    @ApiModelProperty ( "采购订单编号" )
    private String orderNo;

    @ApiModelProperty ( "采购订单Id" )
    private String orderId;

    @ApiModelProperty ( "可下推金额" )
    private String canDownMoney;

    @ApiModelProperty ( "应退金额" )
    private String copeRefundMoney;

    @ApiModelProperty ( "实退金额" )
    private String actualRefundMoney;

    @ApiModelProperty ( "现金折扣" )
    private String cashDiscount;

    @ApiModelProperty ( "手续费" )
    private String handlingFees;

    @ApiModelProperty ( "长短款" )
    private String longShortPay;

    @ApiModelProperty ( "折后金额" )
    private String discountedMoney;

    @ApiModelProperty ( "我方银行账号" )
    private String bankNumber;

    @ApiModelProperty ( "结算号" )
    private String settlementNumber;

    @ApiModelProperty ( "费用项目编码" )
    private String feeCode;

    @ApiModelProperty ( "费用承担部门" )
    private String feeBearDeptCode;

    @ApiModelProperty ( "物料编码" )
    private String materialCode;

    @ApiModelProperty ( "物料名称" )
    private String materialName;

    @ApiModelProperty ( "含税单价" )
    private String taxPrice;

    @ApiModelProperty ( "数量" )
    private String num;

    @ApiModelProperty ( "采购订单行号" )
    private String orderLineNumber;

    @ApiModelProperty ( "创建人" )
    private String createUser;

    @ApiModelProperty ( "创建时间" )
    @JsonFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
    private String createTime;

}
